﻿using System;
using System.Collections.Generic;
using System.Web.UI;
using Tesla.Excepciones;
using Rendiciones.Logica.Modelos;

namespace Rendiciones.Web.infraestructura
{
    public class PageBase : Page
    {
        public Usuario UsuarioConectado { get { return ((MasterPageBase)Master).UsuarioConectado; } set { ((MasterPageBase)Master).UsuarioConectado = value; } }

        public string GetPageName() { return ((MasterPageBase)Master).GetPageName(); }
        public string GetPage() { return ((MasterPageBase)Master).GetPage(); }
        public virtual void Refresh() { }

        public void MostrarError(string mensaje, string redirect) { ((MasterPageBase)Master).MostrarError(mensaje, redirect); }
        public void MostrarOk(string mensaje, string redirect) { ((MasterPageBase)Master).MostrarOk(mensaje, redirect); }
        public void MostrarOk(string mensaje, string titulo, string redirect) { ((MasterPageBase)Master).MostrarOk(mensaje, titulo, redirect); }
        public void MostrarInfo(string mensaje, string redirect) { ((MasterPageBase)Master).MostrarInfo(mensaje, redirect); }

        public void MuestraErroresDeValidacion(Control controlContenedor, bool mostrarMensaje, ResultadoValidacionException resultadoValidacionException) { ((MasterPageBase)Master).MuestraErroresDeValidacion(controlContenedor, mostrarMensaje, resultadoValidacionException); }
        public void LimpiarErrores(Control controlContenedor) { ((MasterPageBase)Master).LimpiarErrores(controlContenedor); }

        public void MuestraMensajeError(Control controlContenedor, string mensaje) { ((MasterPageBase)Master).MuestraMensajeError(controlContenedor, mensaje); }
        public void MuestraMensajeOk(Control controlContenedor, string mensaje) { ((MasterPageBase)Master).MuestraMensajeOk(controlContenedor, mensaje); }
        public void MuestraMensajeInfo(Control controlContenedor, string mensaje) { ((MasterPageBase)Master).MuestraMensajeInfo(controlContenedor, mensaje); }
        public void MuestraMensajeAdvertencia(Control controlContenedor, string mensaje) { ((MasterPageBase)Master).MuestraMensajeAdvertencia(controlContenedor, mensaje); }
        
        public DateTime? StringToDatetime(string fecha, char caracter) { return ((MasterPageBase)Master).StringToDatetime(fecha, caracter); }
        public bool ValidarFecha(string fecha, char separador) { return ((MasterPageBase)Master).ValidarFecha(fecha, separador); }
    }
}